Linux下zip压缩包解压中文乱码问题解决

问题

出现问题的操作过程:
将自己的Blog系统,由Jekyll 迁移到Hexo,原因是Hexo 运行打包简单,主题可选比较多

将自己的文章迁移之后,在windows系统下用hexo 进行打包,然后生成public 文件夹,使用360压缩,压缩成zip,粘贴到linux系统中的nginx的html文件夹下解压

使用

1
unzip public.zip

进行解压

解压后访问博客网站,发现很多文章不可以看,提示找不到文件

一开始以为是Jekyll和Hexo 的博客文件不兼容,但多次在window 下使用

1
2
3
4
5
6
7
8
Hexo server 
```
进行运行,发现文章没有什么问题

然后找打包问题,也没有找到。


无意间翻了一下nginx 的博客文件夹,发现,里面的所有的中文文章文件名都是乱码

[root@localhost 20170206]# ll
总用量 0
drwxr-xr-x. 2 root root 24 1月 23 23:29 2017-02-06-┐ь╦┘┤ю╜и╕Ў╚╦▓й┐═
drwxr-xr-x. 2 root root 24 1月 23 23:29 2021-06-25-▒г│╓╩╩╡▒╚▀╙р╨з┬╩▓в▓╗╩╟╘╜╕▀╘╜║├

1
2

而在window 文件夹下则是

D:\public\blog\20170206>dir
驱动器 D 中的卷是 WorkSpace
卷的序列号是 0E90-18B3

D:\public\blog\20170206 的目录

2022/01/23 23:29

.
2022/01/23 23:29 ..
2022/01/23 23:29 2017-02-06-快速搭建个人博客
2022/01/23 23:29 2021-06-25-保持适当冗余效率并不是越高越好
0 个文件 0 字节
4 个目录 37,327,597,568 可用字节

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

问题找到了,是在linux 下中文乱码了

排查linux 中文乱码问题,然后发现,linux系统已经安装了中文编码字符,没有乱码问题


然后怀疑是压缩问题,上网百度之后果然是压缩的问题,

原因是360压缩和unzip 压缩压缩解压用的编码字符不一致,都是以各自默认编码来解压压缩包


## 解决办法

统一编码字符集

方法1

使用360压缩,进行压缩文件

使用
```
unzip -O GBK xxx.zip

进行解压缩 ,若还是乱码尝试

1
unzip -O CP936 xxx.zip

或者

1
unzip -O GB18030 xxx.zip

方法2.

不使用 360压缩,下载7-Zip,选择zip压缩方式进行压缩,7-Zip的zip压缩使用的编码字符集和linux 下unzip 编码字符集是一致的

下载地址:

https://www.7-zip.org/download.html

一辈子很短,努力的做好两件事就好:
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱。

继开 wechat
欢迎加我的微信,共同交流技术